package model;

import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;

public class CaracteristicasBD {
	
	private final String NOME_TABELA = "CARACTERISTICA";
	private SQLiteDatabase objDados;
	private Caracteristica objRegistro;
	
	public CaracteristicasBD(SQLiteDatabase pObjDados) {
		objDados = pObjDados;
		objRegistro = new Caracteristica();
	}	
	
	public Boolean CREATE_TABLE(Boolean pIf_exists) {
		String pSql = "CREATE TABLE ";

		if (pIf_exists)
			pSql += " IF NOT EXISTS ";

		pSql += NOME_TABELA + " ("  + "ID_CARACTERISTICA INTEGER PRIMARY KEY, "
									+ "ID_TABELA INTEGER, "
									+ "CRC_NOME TEXT, " 
									+ "CRC_TIPO INTEGER"
									+ "CRC_DESCRICAO TEXT)";

		objDados.execSQL(pSql);
		return true;
	}

	public void DROP_TABELA() {
		objDados.execSQL("DROP TABLE IF EXISTS " + NOME_TABELA);
	}

	public void INSERT() {
		ContentValues biblioteca = new ContentValues();
		if (objRegistro.ID_CARACTERISTICA > 0)
			biblioteca.put("ID_CARACTERISTICA", objRegistro.ID_CARACTERISTICA);
		biblioteca.put("ID_TABELA", objRegistro.ID_TABELA);
		biblioteca.put("CRC_NOME", objRegistro.CRC_NOME);
		biblioteca.put("CRC_TIPO", objRegistro.CRC_TIPO);
		biblioteca.put("CRC_DESCRICAO", objRegistro.CRC_DESCRICAO);
		objDados.insert(NOME_TABELA, null, biblioteca);
	}
	
	public List<Caracteristica> SELECT(String pCondicao) {
		
		List<Caracteristica> list = new ArrayList<Caracteristica>();
		Cursor cursor = objDados.query(NOME_TABELA, new String[] { "ID_CARACTERISTICA",	"ID_TABELA", "CRC_NOME", "CRC_TIPO", "CRC_DESCRICAO" }, pCondicao, null, null, null, null);
		if (cursor.moveToFirst()) {
			do {
				Caracteristica objCarac = new Caracteristica();
				objCarac.ID_CARACTERISTICA  = cursor.getInt(0);
				objCarac.ID_TABELA 			= cursor.getInt(1);
				objCarac.CRC_NOME 			= cursor.getString(2);
				objCarac.CRC_TIPO			= cursor.getInt(3);
				objCarac.CRC_DESCRICAO		= cursor.getString(4);
				list.add(objCarac);

			} while (cursor.moveToNext());
		}
		if (cursor != null && !cursor.isClosed()) {
			cursor.close();
		}
		return list;
	}

}
